package com.heima.crm.service;

import com.heima.crm.common.result.PageResult;
import com.heima.crm.common.result.Result;
import com.heima.crm.pojos.dtos.*;
import com.heima.crm.pojos.entity.TbClue;
import com.heima.crm.pojos.entity.TbClueFollow;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface ClueService {
    /**
     * 新增线索
     * @param tbClue
     * @return
     */
    Result newClue(TbClue tbClue);

    /**
     * 文件解析，批量上传
     * @param multipartFile
     * @return
     */
    Result loadFile(MultipartFile multipartFile);

    /**
     * 删除线索
     * @param ids
     * @return
     */
    Result deleteClueByIds(List<Long> ids);

    /**
     * 分页查询
     * @param cluePageDto
     * @return
     */
    Result cluePage(CluePageDto cluePageDto);

    /**
     * 分配线索
     * @param dto
     * @return
     */
    Result distribute(ClueDistributeDto dto);

    /**
     * 跟进 线索数据回显
     * @param id
     * @return
     */
    Result followClue(Long id);

    /**
     * 添加跟进
     * @param dto
     * @return
     */
    Result saveFollowClue(ClueFollowDto dto);


    /**
     * 伪线索上报
     * @param dto
     * @return
     */
    Result fakeClue(ClueFakeDto dto);

    /**
     * 线索转商机
     * @param id
     * @return
     */
    Result clueToBusiness(Long id);

    /**
     * 线索池分页查询
     * @param cluePoolPageDto
     * @return
     */
    Result cluePoolList(CluePoolPageDto cluePoolPageDto);

    /**
     * 捞取线索
     * @param id
     * @return
     */
    Result clueFish(Long id);

    /**
     * 批量捞取线索
     * @param ids
     * @return
     */
    Result clueFishByIds(List<Long> ids);


}
